package com.wksc.framework.impexp.reader;

import java.io.File;
import java.io.IOException;

import jxl.read.biff.BiffException;
import jxl.write.WriteException;

/**
 * <p> Title(文件名): ${file_name} </p>
 * <p> Description(描述): ${todo} </p>
 * <p> Copyright(版权): Copyright (c) ${year} </p>
 * <p> Company(公司): 成都四方信息技术有限公司 </p>
 * <p> CreateTime(生成日期)：11-11-10下午8:31 </p>
 *
 * @author wanglei
 * @version ${project_name}
 */
public abstract class Reader {
    protected File file;

    protected Reader(){}

    /**
     * 计算待读取的文件的总行数
     * @return
     */
    public abstract int countTotalLine();

    /**
     * 读取指定行号的一行数据
     * @param lineNum  行号
     * @return 该行数据
     */
    public abstract String[]  readByRow(int lineNum);
    
    /**
     * 方法描述：写入任务完成后关闭文件流等操作
     *
     * @creator wanglei
     * @throws java.io.IOException
     * @throws WriteException
     */
    public abstract void close();

	public File getFile() {
		return file;
	}

	public void setFile(File file) throws BiffException, IOException {
		this.file = file;
		initFile();
	}

	protected abstract void initFile() throws BiffException, IOException;
}
